


#include<iostream>
using namespace std;


//static int g = 100;
//int main()
//{
//	int x = (int)malloc(sizeof(int));
//	char arr[] = "abcde";
//	const char* a = "abcde";
//	cout << &arr << endl;
//	cout << &a << endl;
//	cout << &x << endl;
//	cout << &g << endl;
//	cout << sizeof(arr) << endl;
//	cout << sizeof(a) << endl;
//	return 0;
//}



//int main()
//{
//	int* p1 = new int;
//	int* p2 = new int[10];
//
//	int* p3 = new int(1);
//	int* p4 = new int[10] {1, 2, 3, 4};
//
//
//	cout << p1 << endl;
//	cout << p2 << endl;
//	cout << p3 << endl;
//	cout << p4 << endl;
//
//	delete p1;
//	delete[] p2;
//	delete p3;
//	delete[] p4;
//	return 0;
//}

struct List
{
	int val;
	List* next;

	List(int n = 1)
		:val(n)
		,next(nullptr)
	{
		cout << "List()" << endl;
	}

	~List()
	{
		cout << "~List()" << endl;
	}
};

//int main()
//{
//
//	List* n1 = new List(1);
//	List* n2 = new List(2);
//	List* n3 = new List(3);
//	List* n4 = new List(4);
//	n1->next = n2;
//	n2->next = n3;
//	n3->next = n4;
//
//
//	delete n1;
//	delete n2;
//	delete n3;
//	delete n4;
//
//	return 0;
//}


void fun()
{
	int n = 0;
	while (1)
	{
		void* arr = new char[1024 * 1024];
		cout << n << endl;
		++n;
	}
}

int main()
{
	try
	{
		fun();
	}
	catch (const std::exception&e)
	{
		cout << e.what() << endl;
	}
}